home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FM Towns: Free Software Collection 7
/
FM Towns Free Software Collection 7.iso
/
t_os
/
cw
/
cw.bas
next >
Wrap
BASIC Source File
|
1993-11-30
|
19KB
|
614 lines
1000 '## モールスを覚えちゃおう! ##
1010 '## HI-CCC 製作者: 尋燐・ルナ ##
1020 '## V2.04 1993/07/28 ##
1030 :
1040 DEFSTR A
1050 RANDOMIZE TIME
1060 TEST=0 :'制作用
1070 SEL=0 :'1 A-Z 0-9 / 0 A-Z
1080 :
1090 GOSUB *初期化
1100 GOSUB *項目設定
1110 GOSUB *符号セット
1120 GOSUB *スタータ
1130 *やり直し
1140 GOSUB *画面
1150 GOSUB *BACK
1160 GOSUB *入力
1170 GOSUB *WINDO2
1180 GOSUB *実行
1190 GOTO *やり直し
1200 *終了
1210 END
1220 :
1230 '----SUB----
1240 *初期化
1250 SCREEN@ 0 :CLS :PALETTE
1260 DIM AK(80) :'見本符号リスト
1270 DIM AL(200) :'回答符号リスト
1280 MAX=0 :'
1290 SPEED=21
1300 ON KEY( 7) GOSUB *メッセージ
1310 ON KEY(10) GOSUB *強制終了
1320 RETURN
1330 :
1340 *項目設定
1350 'ウインド1
1360 W1C=9 :'##ウインド1の最大項目数
1370 DIM AW(W1C) :'##項目名
1380 DIM SW(W1C) :'##設定1
1390 DIM AW1(W1C) :'##設定2
1400 RESTORE *設定DATA :FOR I=0 TO W1C :READ AW(I),SW(I),AW1(I) :NEXT
1410 'ウインド2
1420 DIM AH(W1C+2) :'##HELPメッセージ
1430 RESTORE *HDATA :FOR I=0 TO W1C+2 :READ AH(I) :NEXT
1440 RETURN
1450 :
1460 '--------
1470 *画面
1480 KEY(7) ON
1490 SCREEN@ 0 :CLS :WIDTH 80,20
1500 PALETTE 9,[100,100,120]
1510 PALETTE 10,[180,180,180]
1520 PALETTE 11,[0,0,120]
1530 LINE (0,0)-(639,479),PSET,%9,BF
1540 SYMBOL (30,10),"モールスを覚えちゃおう!",2,1,6,,,15
1550 SYMBOL (350,30),"V2.04",1,1,5,,,1,2
1560 SYMBOL (450,10),"HI-CCC",1,1,4,,,7
1570 SYMBOL (450,30),"製作者: 尋燐・ルナ",1,1,4,,,1
1580 LINE (35,40)-(435,40),PSET,%11
1590 CONNECT (435,5)-(405,60)-(620,60)-(610,50)-(610,70),%11
1600 GOSUB *WIND1
1610 X0=400 :Y0=105 :X1=600 :Y1=244 :GOSUB *ウインド
1620 COLOR 4 :LOCATE 57,4 :PRINT "メッセージ"
1630 KEY(7) OFF
1640 RETURN
1650 :
1660 *ウインド
1670 CONNECT (X0,Y1)-(X0,Y0)-(X1,Y0),%10
1680 CONNECT (X0-1,Y1)-(X0-1,Y0-1)-(X1+1,Y0-1),%10
1690 CONNECT (X0,Y1)-(X1,Y1)-(X1,Y0),0
1700 CONNECT (X0-1,Y1+1)-(X1+1,Y1+1)-(X1+1,Y0-1),0
1710 X0=X0+30 :X1=X0+140 :Y0=Y0-14 :Y1=Y0+24
1720 LINE (X0,Y0)-(X1,Y1),PSET,%9,BF
1730 CONNECT (X0,Y1)-(X0,Y0)-(X1,Y0),%10
1740 CONNECT (X0-1,Y1-12)-(X0-1,Y0+1)-(X1+1,Y0+1),%10
1750 CONNECT (X0,Y1)-(X1,Y1)-(X1,Y0+1),0
1760 CONNECT (X1+1,Y1-12)-(X1+1,Y0+1),0
1770 RETURN
1780 :
1790 *WIND1 :'メイン窓
1800 X0=50 :Y0=82 :X1=350 :Y1=340 :GOSUB *ウインド
1810 COLOR 4 :LOCATE 13,3 :PRINT AW(0)
1820 FOR I=1 TO W1C
1830 X0=60 :Y0=93+I*24 :X1=190 :Y1=90+(I+1)*24
1840 CONNECT (X0,Y1)-(X0,Y0)-(X1,Y0),%10
1850 CONNECT (X0,Y1)-(X1,Y1)-(X1,Y0),0
1860 COLOR 6 :LOCATE 9,4+I :PRINT AW(I);
1870 IF SW(I)=-2 THEN LOCATE 27,4+I :PRINT SPEED :GOTO 1900
1880 IF SW(I)<0 THEN LOCATE 27,4+I :PRINT AW1(I);
1890 IF SW(I)>=0 THEN LOCATE 25,4+I :PRINT " する しない"
1900 GOSUB *SW
1910 NEXT
1920 RETURN
1930 :
1940 *SW
1950 IF SW(I)>=0 THEN 2040
1960 IF SW(I)<-2 OR SW(I)>1 THEN RETURN
1970 IX0=205 :IY0=93+I*24 :IY1=90+(I+1)*24
1980 IF SW(I)=-1 THEN IX1=IX0+120
1990 IF SW(I)=-2 THEN IX1=IX0+50
2000 I0=0 :I1=10
2010 CONNECT (IX0,IY1)-(IX0,IY0)-(IX1,IY0),%I0 :CONNECT (IX0,IY1)-(IX1,IY1)-(IX1,IY0),%I1
2020 RETURN
2030 :
2040 IX0=210 :IX1=274 :IY0=93+I*24 :IY1=90+(I+1)*24
2050 IF SW(I) THEN 2110
2060 CONNECT (IX1,IY1)-(IX1,IY0)-(IX1+60,IY0),0
2070 CONNECT (IX1,IY1)-(IX1+60,IY1)-(IX1+60,IY0),%10
2080 CONNECT (IX0,IY1)-(IX0,IY0)-(IX0+57,IY0),%9
2090 CONNECT (IX0,IY1)-(IX0+57,IY1)-(IX0+57,IY0),%9
2100 RETURN
2110 :CONNECT (IX0,IY1)-(IX0,IY0)-(IX0+57,IY0),0
2120 CONNECT (IX0,IY1)-(IX0+57,IY1)-(IX0+57,IY0),%10
2130 CONNECT (IX1,IY1)-(IX1,IY0)-(IX1+60,IY0),%9
2140 CONNECT (IX1,IY1)-(IX1+60,IY1)-(IX1+60,IY0),%9
2150 RETURN
2160 :
2170 *設定DATA
2180 '-3,-2,-1,0,1
2190 DATA "各 種 設 定" ,-3,""
2200 DATA "本番モード" , 0,""
2210 DATA "2級試験" , 0,""
2220 DATA "スピード" ,-2,""
2230 DATA "・速度テスト" , 0,""
2240 DATA "・ランダム" , 0,""
2250 DATA "・ウエイト" , 0,""
2260 DATA "・5文字暗文" , 0,""
2270 DATA "・回答同時表示" , 0,""
2280 DATA "・モールス同時表示" , 0,""
2290 :
2300 *WINDO2 :'サブメニュー
2310 I=0
2320 GOSUB *W2
2330 PRINT SPACE$(24)
2340 A=INPUT$(1)
2350 IF A="N" OR A="n" THEN *終了
2360 IF A=CHR$(27) THEN RETURN *やり直し
2370 IF A="O" OR A="o" THEN GOSUB *OMAKE :RETURN *やり直し
2380 IF A<>CHR$(13) THEN 2340
2390 RETURN
2400 :
2410 *WIND2
2420 I=NO
2430 GOSUB *W2
2440 PRINT "<'Retキー'で実行・取消>"
2450 RETURN
2460 :
2470 *W2
2480 COLOR 7
2490 A=AH(I)+SPACE$(40)
2500 FOR I0=1 TO 4
2510 LOCATE 52,4+I0
2520 PRINT MID$(A,I0*22-21,22)
2530 NEXT
2540 COLOR 5 :LOCATE 51,9
2550 RETURN
2560 :
2570 *HDATA
2580 DATA "Ret・・・・ 検索を開始するN ・・・・ 終了する ESC・・・・ 設定をし直す O ・・・・ おまけ"
2590 DATA "形式(本番用・練習用)を ←→ で選んでください。"
2600 DATA "2級は'する'。 3級は'しない'を選んで下さい。練習モードの時は無効です。"
2610 DATA "スピードを←→で選んでください。数字が小さくなるほど速くなります。"
2620 DATA "スピードチェックする時は'する'を選択。級を選択後実行する。1分が試験速度。少し速めが良い。"
2630 DATA "A-Zまでランダムに実行するときは'する'を選択。 "
2640 DATA "1文字づつウエイトを掛けるときには'する'を選択。 練習モードの時のみ。"
2650 DATA "ランダム5文字毎にスペースが入る。 "
2660 DATA "モールス信号と同時に回答(英字)も表示する。 練習モードの時のみ。"
2670 DATA "モールス信号と同時に回答(モールス記号)も表示する。 練習モードの時のみ。"
2680 DATA ""
2690 :
2700 '-----
2710 *入力
2720 NO=1 :ONO=2
2730 *IN0
2740 IF NO<1 THEN NO=W1C
2750 IF NO>W1C THEN NO=1
2760 GOSUB *WIND2
2770 LOCATE 9,4+ONO :COLOR 6 :PRINT AW(ONO)
2780 LOCATE 9,4+NO :COLOR 5 :PRINT AW(NO)
2790 ONO=NO
2800 *IN1
2810 A=INPUT$(1)
2820 IF A=CHR$(13) THEN RETURN
2830 IF A=CHR$(&H1F) THEN NO=NO+1 :GOTO *IN0
2840 IF A=CHR$(&H1E) THEN NO=NO-1 :GOTO *IN0
2850 IF SW(NO)=-2 THEN *IN3 '##スピード
2860 IF SW(NO)=-1 THEN *IN4 '##ファイル名
2870 IF SW(NO)>=0 THEN *IN2 '##設定ON-OFF
2880 GOTO *IN0
2890 :
2900 *IN2
2910 IF A<>CHR$(&H1C) AND A<>CHR$(&H1D) THEN *IN1
2920 SW(NO)=-(SW(NO)=0)
2930 IF SW(1) THEN SW(4)=0 :SW(5)=1 :SW(6)=0 :SW(8)=0 :SW(9)=0
2940 IF SW(4) THEN SW(5)=0 :SW(6)=0 :SW(7)=0 :SW(8)=0 :SW(9)=0
2950 IF SW(7) THEN SW(5)=1
2960 FOR I=1 TO W1C :GOSUB *SW :NEXT
2970 GOTO *IN1
2980 *IN3
2990 SPEED=SPEED+(A=CHR$(&H1C))-(A=CHR$(&H1D))
3000 IF SPEED<1 THEN SPEED=40
3010 IF SPEED>40 THEN SPEED=1
3020 A0=RIGHT$(" "+STR$(SPEED),3)
3030 AW1(NO)=A0 :COLOR 6 :LOCATE 27,4+NO :PRINT AW1(NO)
3040 GOTO *IN1
3050 *IN4
3060 IF A<>CHR$(13) AND A<>CHR$(&H1C) THEN *IN1
3070 COLOR 7 :LOCATE 27,4+NO
3080 LINE INPUT "",A0
3090 IF A0="" THEN *IN1
3100 COLOR 6 :LOCATE 27,4+NO
3110 IF LEN(A0)>12 THEN A0=LEFT$(A0,12)
3120 AW1(NO)=A0 :PRINT A0+SPACE$(13)
3130 GOTO *IN1
3140 :
3150 '-----
3160 *BACK
3170 IF TEST THEN 3250
3180 RESTORE 3180
3190 COLOR 5
3200 FOR I=1 TO 6
3210 READ A,A1
3220 SYMBOL (20,330+I*20),A,2,1,5
3230 SYMBOL (400,240+I*20),A1,1,1,4
3240 NEXT
3250 LINE (536,258)-(552,258),PSET,4
3260 LINE (487,298)-(503,298),PSET,4
3270 RETURN
3280 DATA "A .- B -... C -.-. D -.. E . " ,"本文始まり HR HR BT"
3290 DATA "F ..-. G --. H .... I .. J .---" ," .... .-. .... .-. -...-"
3300 DATA "K -.- L .-.. M -- N -. O --- " ,"通信終了 AR"
3310 DATA "P .--. Q --.- R .-. S ... T - " ,".-.-."
3320 DATA "U ..- V ...- W .-- X -..- Y -.--" ,""
3330 DATA "Z --.." ,""
3340 :
3350 '-------
3360 *スタータ
3370 KEY(7) ON
3380 IF TEST THEN 3490
3390 FOR I=1 TO 500 :PSET (RND(1)*640,RND(1)*60+420),4 :NEXT :'庭
3400 CONNECT (0,150)-(200,80)-(500,190),6 :'山
3410 CONNECT (370,142)-(500,50)-(639,130),6
3420 LINE (100,350)-(200,420),PSET,7,B :'家
3430 LINE (130,370)-(170,400),PSET,7,B :'窓
3440 CIRCLE (150,385),5,7 :'人
3450 CONNECT (143,400)-(150,390)-(157,400),7
3460 LINE (146,395)-(140,385),PSET,7
3470 CONNECT (80,350)-(220,350)-(150,300)-(80,350),7 :'屋根
3480 LINE (250,220)-(260,420),PSET,7,B :'柱
3490 LINE (260,170)-(264,230),PSET,7,B :'ANT
3500 LINE (261,120)-(263,170),PSET,7,B
3510 LINE (262, 70)-(262,120),PSET,7
3520 CONNECT (242,230)-(262,215)-(282,230),7
3530 CIRCLE (265,250),5,7 :'コード
3540 LINE (260,340)-(200,360),PSET,7
3550 CONNECT (330,100)-(360,95)-(350,105)-(400,100),7 :'電波
3560 CONNECT (500,80)-(530,75)-(520,85)-(570,80),7
3570 LOCATE 45,6 :PRINT "CQ"
3580 LOCATE 66,5 :PRINT "CQ"
3590 KEY(7) OFF
3600 IF TEST THEN AT="Q" ELSE AT="CQ CQ DE JG0QKR K"
3610 GOSUB *コンバート
3620 SPEED=4
3630 GOSUB *文字OUT1
3640 SPEED=21
3650 RETURN
3660 :
3670 '-----
3680 *実行
3690 CLS
3700 AT="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
3710 IF SEL THEN AT=AT+"1234567890"
3720 IF SW(1)=0 THEN 3790 :'本番?
3730 FOR I=1 TO 2 :AT=AT+AT :NEXT
3740 IF SW(5) THEN GOSUB *混ぜる
3750 ATS="HR HR < " :ATE=" >" :'~BT ~AR
3760 IF SW(2) THEN CT=90 ELSE CT=50
3770 AT=LEFT$(AT,CT)
3780 GOTO 3810
3790 : ATS="" :ATE=""
3800 IF SW(5) THEN GOSUB *混ぜる
3810 IF SW(4)=0 THEN 3860 :'テスト
3820 AT=AT+AT
3830 IF SW(2) THEN AT=LEFT$(AT+AT,45) ELSE AT=LEFT$(AT,25)
3840 GOSUB *TEST
3850 RETURN
3860 IF SW(7)=0 THEN 3930 :'5文字
3870 A=AT :I0=LEN(A) :AT=""
3880 FOR I=1 TO I0
3890 IF ((I-1) MOD 5)=0 AND I<>1 THEN AT=AT+" "
3900 AT=AT+MID$(A,I,1)
3910 NEXT
3920 GOTO 4010
3930 : IF SW(1)=0 THEN 4010 :'本番 & not5文字
3940 A=AT :AT="" :I0=0
3950 FOR I=1 TO LEN(A)
3960 IF (INT(RND(1)*5)=3 AND I<>1) OR I0=>10 THEN AT=AT+" " :I0=0
3970 AT=AT+MID$(A,I,1)
3980 I0=I0+1
3990 NEXT
4000 :
4010 ANS=AT
4020 AT=ATS+AT+ATE
4030 :
4040 IF TEST THEN PRINT AT
4050 GOSUB *コンバート
4060 F=0 :KEY(10) ON :'強制終了
4070 COLOR 4 :PRINT "** それでは始めます。 途中'PF KEY10'を押すと中断します。 **"
4080 COLOR 7 :PRINT "・紙と鉛筆の用意は出来ましたか?"
4090 IF SW(1)=0 THEN 4130
4100 COLOR 5 :PRINT "本番と同じ形式です。"
4110 PRINT "始めの HR HR BT と、終わりの AR は書き取る必要がありません。"
4120 PRINT "終了後、直ちに鉛筆を置いてください。書き直しの時間はありません。"
4130 PRINT :COLOR 7
4140 PRINT "何かキーを押して下さい。2秒後に始まります。"
4150 WHILE INKEY$<>"" :WEND
4160 A=INPUT$(1) :PRINT "-Start!!-" :PRINT :WAIT 200
4170 TIME$="00:00:00"
4180 IF SW(6) OR SW(8) OR SW(9) THEN GOSUB *文字OUT2 ELSE GOSUB *文字OUT1
4190 :
4200 PRINT
4210 COLOR 6 :PRINT "- 終了いたしました。-" :COLOR 7
4220 PRINT "時間 = ";RIGHT$(TIME$,4)
4230 A=ANS+SPACE$(100)
4240 PRINT " 0 . 1 . 2 . 3 . 4"
4250 PRINT "解答 = |";LEFT$(A,40);"|"
4260 PRINT " |";MID$(A,41,40);"|"
4270 PRINT " |";MID$(A,81,40);"|"
4280 PRINT " 0 . 1 . 2 . 3 . 4"
4290 WHILE INKEY$<>"" :WEND :A=INPUT$(1)
4300 RETURN
4310 :
4320 :
4330 '-----
4340 *TEST
4350 COLOR 6 :PRINT "** 只今モールス速度のテスト中!! **"
4360 COLOR 5 :IF SW(2) THEN PRINT "・2級用 45文字/分" ELSE PRINT "・3級用 25文字/分"
4370 COLOR 7 :PRINT AT
4380 GOSUB *コンバート
4390 TIME$="00:00:00"
4400 GOSUB *文字OUT1
4410 COLOR 4 :PRINT "掛かった時間 = ";TIME$
4420 COLOR 7 :PRINT :PRINT ">丁度1分が試験速度です。"
4430 PRINT ">機種によってマシン速度が違うので、各自速度を調整してください。"
4440 PRINT ">最終的には、1分以内の速度で本番用が書き取れれば良いでしょう。"
4450 PRINT :PRINT "何かキーを押すとメニューに戻ります。"
4460 WHILE INKEY$<>"" :WEND :A$=INPUT$(1)
4470 RETURN
4480 :
4490 '-------------
4500 *混ぜる
4510 FOR I0=1 TO 2
4520 FOR I=1 TO LEN(AT)
4530 I0=INT(RND(1)*LEN(AT))+1
4540 A=MID$(AT,I,1) :A1=MID$(AT,I0,1)
4550 MID$(AT,I,1)=A1 :MID$(AT,I0,1)=A
4560 NEXT
4570 NEXT
4580 RETURN
4590 :
4600 '-----------
4610 :
4620 *コンバート
4630 MAX=LEN(AT)
4640 FOR I=1 TO MAX
4650 A=MID$(AT,I,1)
4660 AL(I)=AK(INSTR(ACOM,A))
4670 NEXT
4680 RETURN
4690 :
4700 *文字OUT1 :'ウエイト無し用
4710 FOR I=1 TO MAX
4720 FOR I0=1 TO LEN(AL(I))
4730 A=MID$(AL(I),I0,1)
4740 IF A="." THEN GOSUB *TEN
4750 IF A="-" THEN GOSUB *LNG
4760 IF A=" " THEN GOSUB *区切
4770 GOSUB *MAT
4780 NEXT
4790 GOSUB *SPC
4800 IF F THEN I=MAX
4810 NEXT
4820 RETURN
4830 :
4840 *文字OUT2 :'ウエイト有り
4850 FOR I=1 TO MAX
4860 A=MID$(ANS,I,1)
4870 IF A=" " THEN 4900
4880 IF SW(8) THEN PRINT A;" "; ELSE PRINT "> ";
4890 IF SW(9) THEN PRINT AL(I) ELSE PRINT
4900 FOR I0=1 TO LEN(AL(I))
4910 A=MID$(AL(I),I0,1)
4920 IF A="." THEN GOSUB *TEN
4930 IF A="-" THEN GOSUB *LNG
4940 IF A=" " THEN GOSUB *区切
4950 GOSUB *MAT
4960 NEXT
4970 GOSUB *SPC
4980 IF SW(6) THEN WHILE INKEY$<>"" :WEND :A=INPUT$(1) :WAIT 100
4990 IF F THEN I=MAX
5000 NEXT
5010 RETURN
5020 :
5030 *TEN :' .
5040 BEEP 1
5050 GOSUB *TIM
5060 BEEP 0
5070 RETURN
5080 :
5090 *LNG :' -
5100 BEEP 1
5110 GOSUB *TIM
5120 GOSUB *TIM
5130 GOSUB *TIM
5140 BEEP 0
5150 RETURN
5160 :
5170 *KYU :' - -
5180 BEEP 0
5190 GOSUB *TIM
5200 BEEP 0
5210 RETURN
5220 :
5230 *SPC :' 字と字間 必ず1け休符が入るため3-1=2
5240 GOSUB *TIM
5250 *区切 :' 区切り 必ず(*SPC+休符)*2が入るため7-(2+1)*3=1
5260 *MAT :' . と. の間 1
5270 GOSUB *TIM
5280 BEEP 0 :BEEP 0
5290 RETURN
5300 :
5310 *TIM :'スピード調節
5320 WAIT SPEED
5330 RETURN
5340 :
5350 '----------------------
5360 *符号セット
5370 RESTORE 5440
5380 :I=1
5390 :READ AK(I)
5400 :IF AK(I)<>"" THEN I=I+1 :GOTO 5390
5410 ACOM="ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890<> "
5420 RETURN
5430 :
5440 DATA ".-" :'A
5450 DATA "-..." :'B
5460 DATA "-.-." :'C
5470 DATA "-.." :'D
5480 DATA "." :'E
5490 DATA "..-." :'F
5500 DATA "--." :'G
5510 DATA "...." :'H
5520 DATA ".." :'I
5530 DATA ".---" :'J
5540 DATA "-.-" :'K
5550 DATA ".-.." :'L
5560 DATA "--" :'M
5570 DATA "-." :'N
5580 DATA "---" :'O
5590 DATA ".--." :'P
5600 DATA "--.-" :'Q
5610 DATA ".-." :'R
5620 DATA "..." :'S
5630 DATA "-" :'T
5640 DATA "..-" :'U
5650 DATA "...-" :'V
5660 DATA ".--" :'W
5670 DATA "-..-" :'X
5680 DATA "-.--" :'Y
5690 DATA "--.." :'Z
5700 :
5710 DATA ".----" :'1
5720 DATA "..---" :'2
5730 DATA "...--" :'3
5740 DATA "....-" :'4
5750 DATA "....." :'5
5760 DATA "-...." :'6
5770 DATA "--..." :'7
5780 DATA "---.." :'8
5790 DATA "----." :'9
5800 DATA "-----" :'0
5810 :
5820 DATA "-...-" :'< ~BT
5830 DATA ".-.-." :'> ~AR
5840 DATA " " :' スペース
5850 :
5860 DATA ".-.-.-" :'終点
5870 DATA "--..--" :'・小読点
5880 DATA "---..." :'..重点又は除法の記号
5890 DATA "..--.." :'?
5900 DATA ".----." :'・略符
5910 DATA "-....-" :'-連続/横線/減算
5920 DATA "-.--." :'(
5930 DATA "-.--.-" :')
5940 DATA "-...-" :'=
5950 DATA "-..-." :'/
5960 DATA ".-.-." :'+
5970 DATA "-..-" :'X
5980 DATA ".-..-." :'引用符
5990 DATA "" :'
6000 :
6010 '--------
6020 *メッセージ
6030 BEEP
6040 RETURN
6050 :
6060 '--------
6070 *強制終了
6080 KEY(10) OFF
6090 BEEP 0 :F=1
6100 RETURN
6110 :
6120 '----------------
6130 *OMAKE
6140 CLS :COLOR 4
6150 PRINT "## おまけ コーナー by 尋燐・ルナ ##"
6160 COLOR 7 :PRINT
6170 PRINT "1..全くモールスを知らない人へ"
6180 PRINT "2..パソコン上と試験場での違い"
6190 PRINT "3..練習していく手順"
6200 PRINT "4..数字も勉強しますか?"
6210 PRINT "0..戻る"
6220 PRINT
6230 PRINT ">貴方はどれかを選ばなければならない!"
6240 PRINT ">さあ!どれにするかな?"
6250 A=INPUT$(1) :I=VAL(A)
6260 IF I=0 THEN RETURN
6270 IF I>4 THEN BEEP :COLOR 3 :PRINT ">ま、真面目にやりなさい! いや。やってください。" :WAIT 300 :GOTO *OMAKE
6280 :
6290 ON I GOSUB *MENU1,*MENU2,*MENU3,*MENU4
6300 GOTO *OMAKE
6310 *MENU1
6320 RESTORE 6320 :GOTO *表示
6330 DATA 4,"1..全くモールスを知らない人へ"
6340 DATA 7,""
6350 DATA 7,"・試験には数字や記号は出ませんので(多分:出たらごめん!)"
6360 DATA 7," とにかく先ず英語A-Zを覚えます。"
6370 DATA 7,"・最初は簡単な物 :SOS = ... --- ... トトト ツーツーツー トトト"
6380 DATA 7," :ET = . - ト ツー"
6390 DATA 7," :HI = .... .. トトトト トト"
6400 DATA 7,"・イメージによる :Q = --.- Y = -.-- X = -..-"
6410 DATA 7," :Z = --.."
6420 DATA 7,"・反対 :K = -.- R = .-."
6430 DATA 7," :A = .- N = -."
6440 DATA 7,"・似た物 :U = ..- V = ...-"
6450 DATA 7,""
6460 DATA 7," 等各自色々とやってみて下さい。"
6470 DATA 7," .を -より下に打って有るので結構覚えやすいと思います。"
6480 DATA 7," 曖昧でもいいので7割り位覚えたら、このソフトを使って見てください。"
6490 DATA 7,""
6500 DATA 0,""
6510 :
6520 *MENU2
6530 RESTORE 6530 :GOTO *表示
6540 DATA 4,"2..パソコン上と試験場での違い"
6550 DATA 7,""
6560 DATA 7,"・会場ではかなり音が反響してしまいます。(貴方が思っているより)"
6570 DATA 7," 最悪音が二重に聞こえる場所も在ります。"
6580 DATA 7," 早く会場に行き、なるべく前の方に座るようにしましょう!"
6590 DATA 7,"・最初にA-Z迄1回鳴らしますのでその間に雰囲気を掴みます。"
6600 DATA 7,"・終了後すぐペンを置くように言われます。書き直す時間は有りません。"
6610 DATA 7,"・間違えは3点減点。減点は10点迄です。"
6620 DATA 7," 分からない/怪しい/ついていけない と思ったらすぐその字は抜かしましょう。"
6630 DATA 7," 1点減点のみですみます。"
6640 DATA 7,"・練習の仕上げにバソコンから離れた所で書き取ることをしとくと良いでしょう!"
6650 DATA 7,"" ,7,""
6660 DATA 5," 頑張って下さい。 by 尋燐・ルナ"
6670 DATA 0,""
6680 :
6690 *MENU3
6700 RESTORE 6700 :GOTO *表示
6710 DATA 4,"3..練習していく手順
6720 DATA 7,""
6730 DATA 7,"・先ずA-Zを5割位とにかく覚えます。紙に書いたりして。"
6740 DATA 7,"・A-Zを順番にスロースピードで(字を表示しながら)"
6750 DATA 7,"・8割り位覚えたらランダムにします。"
6760 DATA 7,"・全部覚えたらもう字を表示させません。"
6770 DATA 7,"・慣れてきたらいよいよ書き取りします。"
6780 DATA 7,"・後はスピードを上げたり本番用にしたりいろいろやってみましょう"
6790 DATA 7,"・仕上げはかなり離れた所にて書き取りします。"
6800 DATA 7,"" ,7,""
6810 DATA 5," 頑張って下さい。 by 尋燐・ルナ"
6820 DATA 0,""
6830 :
6840 *MENU4
6850 RESTORE 6850 :GOSUB *表示
6860 DATA 4,"4..数字も勉強しますか?"
6870 DATA 7,""
6880 DATA 7,"このソフトは英語(A-Z)のみに重点を置いていますが、"
6890 DATA 7," どうしても数字もやりたい方は、'Y'を入力してください。"
6900 DATA 7," プログラム上では、1070行のSEL=0を1にしてください。"
6910 DATA 7,""
6920 DATA 6,">>>>"
6930 DATA 0,""
6940 :
6950 COLOR 5
6960 IF A="Y" OR A="y" THEN SEL=1 :PRINT "数字対応になりました。" ELSE SEL=0 :PRINT "英語のみの表示です。"
6970 WAIT 150 :COLOR 7
6980 RETURN
6990 :
7000 *表示
7010 CLS
7020 READ I,A
7030 WHILE I>0
7040 COLOR I
7050 PRINT A
7060 IF TEST THEN : ELSE WAIT 50
7070 READ I,A
7080 WEND
7090 A=INPUT$(1)
7100 RETURN
7110 :
7120 '--------------- E N D ---------------------